Zephyr: fix the product mini compilation issue#4629
Zephyr: fix the product mini compilation issue#4629lucasAbadFr wants to merge 10 commits intobytecodealliance:mainfrom
Conversation
…eep as a temp solution
- Declare it in the api_vm_extension for each platform - Increase the experimental functions doc - Create a os_nanosleep function in a new zephyr_sleep file - add it to the compilation process.
| #include <time.h> | ||
|
|
||
| #include "platform_api_extension.h" | ||
| #include "libc_errno.h" |
There was a problem hiding this comment.
It is not a standard libc header and leads to a compilation error:
fatal error: libc_errno.h: No such file or directory
There was a problem hiding this comment.
Yes I know, but it didn't anticipate this error.
In fact I tested building iwasm for Linux (file sample) and no other plateforms (except Zephyr obviously).
From what I see, the issue comes from this CMake logic:
Now that posix_sleep.c directly include libc_errno.h, we can build with WAMR_BUILD_LIBC_WASI=0 but we still need this helper.
How do we manage this case ? We can:
- Use a
caseinos_nanosleeponretfor POSIX. - Change the CMake logic (but I can't cleary indentify the impact)
|
If it's alright, could I inquire about your experience with: How to set up CI on a Zephyr platform using GitHub Actions? Since there is no board, a simulation is required. So, which is better: nsim or QEMU? |
|
I @lum1n0us ! Thank you for the quick review. Honestly, I don't have any real experiences for setting a CI on the Zephyr platform using Github Actions. But I may share my insights about native sim vs QEMU. From my understanding about simulation tools:
Also the WAMR project could select a few (embedded) Hardware platforms to support for each of the (RTOS) paltforms supported. It could be aligned with the embedded SIG targeted (hardware) platforms. But in any case at least trying to compile and run the samples should be pretty simple to put in place, and we should begin by that. |
This pull request present a fix to #4628.
It introduces the following changes:
os_nanosleepAPI.os_nanosleep.os_APIs inplatform_api_extension.h.simple-fileandsimple-httpsamples compile again.Note
At first I intended to change
os_ioctlreturn type but didn't in the end.